<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>访问器</title>
</head>
<body>

</body>
</html>
<script>
    //访问器对对象的属性控制进行访问
    //一旦设置了set get   访问器和获取器  那么直接给对象属性赋值将失去作用
    //因为两个只能用一个  并且访问器的优先级是最高的
    class User{
        constructor(name) {
            this.data = {name};
        }
        get name(){
            return this.data.name;
        }

        set name(value){
            if(value.trim() == ""){
                throw new Error("invalid params");
            }
            this.data.name = value;
        }
    }

    let hd = new User("向军大叔");
    hd.name = 'hdcms';
    console.log(hd.name);
</script>